package modelo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ManejadorDeActores {
	
	private List<Actor> actores;
	private static ManejadorDeActores instancia;
	
	public  ManejadorDeActores() {
		this.actores = new ArrayList<Actor>();
	}	
	
	public static ManejadorDeActores getInstancia() {
		if (instancia == null) {
			instancia = new ManejadorDeActores();
		}
		return instancia;  
	}
	
	public static void destruirManejadorDeActores() {
		instancia = null;
	}
	
	public void agregarActor(Actor actor) {
		this.actores.add(actor);	
	}
	
	public void quitarActor(Actor actor) {
		this.actores.remove(actor);	
	}
	
	public void actuarTodos() {
		
		Iterator<Actor> iteradorDeActores = this.actores.iterator();
		
		while (iteradorDeActores.hasNext()) {
			Actor actual = iteradorDeActores.next();
			if (actual.estaDestruida()) {
				iteradorDeActores.remove();
			}
			else {
				actual.actuar();
			}
			
			
		};
		
	}

}
